import { defineStore } from 'pinia'

// 第一个参数：相当于为容器起一个名字。这里的名字必须唯一, 相当于Vuex的模块化
// 第二个参数：配置对象，里边是对容器仓库的配置说明
const mainStore = defineStore('main', {
    state: () => {
        return {
            usrInfo: {
                name: '一千个伤心的理由'
            }
        }
    },
    // 用来监视或者说是计算状态的变化的，有缓存的功能
    getters: {
        getInfo: state => state.usrInfo
    },
    // 修改state
    actions: {
        changeInfo(payload: any = {}) {
            this.usrInfo = payload
        }
    },
    persist: {
        key: 'mainStore',
        storage: sessionStorage,
    }
})

export default mainStore